// 业务组件
import MuPicSelect from '@/components/Survey/Materials/SelectComs/MuPicSelect.vue'
// 编辑组件
import TitleEditor from '@/components/Survey/EditItems/TitleEditor.vue'
import DescEditor from '@/components/Survey/EditItems/DescEditor.vue'
import PicOptionEditor from '@/components/Survey/EditItems/PicOptionEditor.vue'
import PositionEditor from '@/components/Survey/EditItems/PositionEditor.vue'
import SizeEditor from '@/components/Survey/EditItems/SizeEditor.vue'
import WeightEditor from '@/components/Survey/EditItems/WeightEditor.vue'
import ItalicEditor from '@/components/Survey/EditItems/IditorEditor.vue'
import ColorEditor from '@/components/Survey/EditItems/ColorEditor.vue'

import { markRaw } from 'vue'
import { v4 as uuidv4 } from 'uuid'
import { ComsTypeEnum } from '@/types'

// 导出json-scheme配置，只有定义的配置项才能编辑
export default function () {
  return {
    type: markRaw(MuPicSelect),
    name: ComsTypeEnum.muPicSelect,
    id: uuidv4(),
    // 组件状态：组件每一个能改的状态，都应该对应一个编辑组件
    status: {
      title: {
        id: uuidv4(),
        status: '图片单选标题',
        isShow: true,
        name: 'title-editor',
        //作为动态组件component使用无需响应式，使用markRaw去掉响应式，可减少性能浪费
        editCom: markRaw(TitleEditor),
      },
      desc: {
        id: uuidv4(),
        status: '图片单选描述',
        isShow: true,
        name: 'desc-editor',
        editCom: markRaw(DescEditor),
      },
      options: {
        id: uuidv4(),
        status: [
          {
            value: '',
            picTitle: '图片标题1',
            picDesc: '图片描述1',
          },
          {
            value: '',
            picTitle: '图片标题2',
            picDesc: '图片描述2',
          },
        ],
        currentStatus: 0,
        isShow: true,
        name: 'options-editor',
        editCom: markRaw(PicOptionEditor),
      },
      position: {
        id: uuidv4(),
        currentStatus: 0,
        status: ['左对齐', '居中对齐'],
        isShow: true,
        name: 'position-editor',
        editCom: markRaw(PositionEditor),
      },
      titleSize: {
        id: uuidv4(),
        currentStatus: 0,
        status: ['22', '20', '18'],
        isShow: true,
        name: 'size-editor',
        editCom: markRaw(SizeEditor),
      },
      descSize: {
        id: uuidv4(),
        currentStatus: 0,
        status: ['16', '14', '12'],
        isShow: true,
        name: 'size-editor',
        editCom: markRaw(SizeEditor),
      },
      titleWeight: {
        id: uuidv4(),
        currentStatus: 1,
        status: ['加粗', '正常'],
        isShow: true,
        name: 'weight-editor',
        editCom: markRaw(WeightEditor),
      },
      descWeight: {
        id: uuidv4(),
        currentStatus: 1,
        status: ['加粗', '正常'],
        isShow: true,
        name: 'weight-editor',
        editCom: markRaw(WeightEditor),
      },
      titleItalic: {
        id: uuidv4(),
        currentStatus: 1,
        status: ['斜体', '正常'],
        isShow: true,
        name: 'italic-editor',
        editCom: markRaw(ItalicEditor),
      },
      descItalic: {
        id: uuidv4(),
        currentStatus: 1,
        status: ['斜体', '正常'],
        isShow: true,
        name: 'italic-editor',
        editCom: markRaw(ItalicEditor),
      },
      titleColor: {
        id: uuidv4(),
        status: '#000000',
        isShow: true,
        name: 'color-editor',
        editCom: markRaw(ColorEditor),
      },
      descColor: {
        id: uuidv4(),
        status: '#909399',
        isShow: true,
        name: 'color-editor',
        editCom: markRaw(ColorEditor),
      },
    },
  }
}
